1. Field of Invention
The present disclosure relates generally to initiative queues in multi-tasking multi-processor environments, and in particular, to negating initiative for select entries from a shared, strictly FIFO initiative queue in a multi-tasking multi-processor environment.
2. Description of Background
When an element within a system fails and is recovered, any work for that element which was queued before the recovery event must not be processed after the recovery event. When each element has its own dedicated queue, the entire queue can be reset as part of the recovery event. When the queue has the capability for entries to be removed from anywhere within the queue, queue entries related to the effected element can be removed from the queue as part of the recovery event. However, when the queue contains entries for multiple elements and the queue is maintained as a strictly FIFO queue, affected entries cannot be selectively removed from the queue, nor can the entire queue be reset. In some cases, it may be possible to drain the queue by removing all entries from the queue, discarding the entries from the affected elements and re-queuing the unaffected entries in order, but if another processor adds entries to the queue while this action is happening, the ordering of the entries within the queue is lost.